package mapred.maxAndMin.way1;

import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

import java.io.IOException;

public class MaxMinMapper extends Mapper<LongWritable, Text, Text, LongWritable> {
    private Text textkey = new Text();

    @Override
    protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
        // 读取每一行的数据
        String line = value.toString();
        // 如果当前行的数据是非空的，那么将它转换为Int，通过Mapper输出给Reducer
        if (line.trim().length() > 0) {
            // 这里需要注意：
            // Mapper中将所有的要处理的数据统一放到了Key=textkey的k-v中
            // 这样做的目的是：通过在Combiner阶段的合并，将所有要处理的数据，通过一个k-v传递给了Reducer
            context.write(new Text("textkey"), new LongWritable(Integer.valueOf(line.trim())));
        }
    }


}